import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;

import javax.swing.SwingUtilities;

class Window extends Frame implements ActionListener {
	Button przycisk1, przycisk2;
	TextField wejscie;
	TextArea wyjscie;
	
	
	public Window() {
		super("Mapper HTML");
		setSize(600, 800);
		setLayout(new FlowLayout());
		
		wejscie = new TextField(50);
		add(wejscie);
		
		przycisk1 = new Button("Pobierz");
		add(przycisk1);
		przycisk1.addActionListener(this);
		
		przycisk2 = new Button("Zapisz");
		add(przycisk2);
		przycisk2.addActionListener(this);
		
		wyjscie = new TextArea(40, 70);
		add(wyjscie);
		
		setVisible(true);
		
		addWindowListener(new WindowAdapter () {
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
	}
	
	URL strona;
	StringBuffer zawartosc = new StringBuffer();
	StringBuffer adres = new StringBuffer();
	
	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		Object source = e.getSource();
		if(source == przycisk1) { 
			
			zawartosc.delete(0, zawartosc.length());
			adres.delete(0, adres.length());
			
			int pozycja = 0;
			
			if((wejscie.getText().indexOf("http://")) != -1) {
				pozycja += 7;
			}
			if(wejscie.getText().indexOf("www.") != -1) {
				pozycja += 4;
			}
			
			adres.append("http://www." + wejscie.getText().substring(pozycja));

			try {
				strona = new URL(adres.toString());
			} catch (MalformedURLException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
			
			try {
				URLConnection ucon = strona.openConnection();
				int c = 0;
				InputStream input = ucon.getInputStream();
				while((c = input.read()) != -1 ) {
					zawartosc.append((char) c);
				}
				input.close();
			} catch (IOException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}

			wyjscie.setText(zawartosc.toString());
		}
		else if(source == przycisk2) {
			String rozsz;
			
			try {
				if(adres.indexOf(".css") != -1) {
					rozsz = ".css";
				} else {
					rozsz = ".html";
				}
				PrintWriter zapis = new PrintWriter(adres.substring(11) + rozsz);
				
				zapis.println(zawartosc);
				zapis.close();
			} catch (FileNotFoundException e1) {
				e1.printStackTrace();
			}		
		}
	}
	
}

public class Mapper {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		SwingUtilities.invokeLater(new Runnable() {
			
			@Override
			public void run() {
				new Window();
			}
		});

	}

}

